package com.ruoyi.business.mapper;

import com.ruoyi.business.domain.TRecipientInfo;
import com.ruoyi.system.domain.SysUserRole;

import java.util.List;

/**
 * 收款账号Mapper接口
 * 
 * @author ruoyi
 * @date 2024-02-26
 */
public interface TRecipientInfoMapper {
    /**
     * 查询收款账号
     *
     * @param id 收款账号主键
     * @return 收款账号
     */
    public TRecipientInfo selectTRecipientInfoById(Long id);

    /**
     * 查询收款账号列表
     *
     * @param tRecipientInfo 收款账号
     * @return 收款账号集合
     */
    public List<TRecipientInfo> selectTRecipientInfoList(TRecipientInfo tRecipientInfo);

    public List<TRecipientInfo> selectTRecipientInfoListByNoAuth(TRecipientInfo tRecipientInfo);

    /**
     * 新增收款账号
     *
     * @param tRecipientInfo 收款账号
     * @return 结果
     */
    public int insertTRecipientInfo(TRecipientInfo tRecipientInfo);

    /**
     * 修改收款账号
     *
     * @param tRecipientInfo 收款账号
     * @return 结果
     */
    public int updateTRecipientInfo(TRecipientInfo tRecipientInfo);

    /**
     * 删除收款账号
     *
     * @param id 收款账号主键
     * @return 结果
     */
    public int deleteTRecipientInfoById(Long id);

    /**
     * 批量删除收款账号
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTRecipientInfoByIds(String[] ids);

    public List<TRecipientInfo> getAvailableListByMoney(TRecipientInfo recipientInfo);

    List<TRecipientInfo> getAvailableListBySupportMoney(TRecipientInfo recipientInfo);


//    List<RecipientInfo> getAvailableListNew(Long agentsMaster, String code, String channel,Long money);

    List<TRecipientInfo> getAvailableListNew(TRecipientInfo recipientInfoParam);


    List<TRecipientInfo> getAvailableList(TRecipientInfo recipientInfo);

    List<TRecipientInfo> getRecipientInfo(TRecipientInfo recipientInfo);

    public void resetTRecipientInfo();

    public List<TRecipientInfo> selectTRecipientGroupNameList(TRecipientInfo recipientInfo);

    public int batchServiceRecip(List<TRecipientInfo> userRoleList);

}